package com.ruoyi.task.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import java.util.List;

/**
 * 任务配置配置对象 task_config
 *
 * @author ruoyi
 * @date 2025-04-24
 */
public class TaskConfig extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 任务配置id
     */
    private Long taskConfigId;

    /**
     * 设备id
     */
    @Excel(name = "设备id")
    private Long equipmentId;

    /**
     * 通道id
     */
    @Excel(name = "通道号ID")
    private String channelId;

    /**
     * 摄像头主键
     */
    private String channelKey;

    @Excel(name = "网点信息")
    private String bankInfo;

    /**
     * 分行机构号
     */
    @Excel(name = "分行机构号")
    private String subBankCode;

    @Excel(name = "分行机构名称")
    private String subBankName;

    @Excel(name = "网点机构号")
    private String bankCode;

    /**
     * 网点机构名称
     */
    @Excel(name = "网点机构名称")
    private String bankName;

    @Excel(name = "设备ip")
    private String equipmentIp;

    @Excel(name = "设备类型(001-大华)", dictType= "equipment_type")
    private String equipmentType;

    @Excel(name = "通道号备注")
    private String channelRemark;

    /**
     * 任务采集开始时间
     */
    @Excel(name = "任务采集开始时间")
    private String startTime;

    /**
     * 任务采集结束时间
     */
    @Excel(name = "任务采集结束时间")
    private String startEnd;

    private List<String> timeRange;

    /**
     * 频率类型(01-每日 02-单次)
     */
    @Excel(name = "频率类型(01-每日 02-单次)",readConverterExp = "01=每日,02=单次")
    private String frequencyType;

    /**
     * 应用场景(01-大屏检测 02-柜台员工玩手机 03-二道门物品遗留检测 04-消防通道杂物堆放 05-消防疏散门开关检测 06-自助设备清机加钞双人操作 07-保安离岗)
     */
    @Excel(name = "应用场景", dictType= "task_scenarios_type")
    private String scenariosType;


    private List<String> scenariosTypeList;

    /**
     * 帧率
     */
    @Excel(name = "帧率")
    private String fps;

    /**
     * 分割时间,以秒为单位
     */
    @Excel(name = "分割时间,以秒为单位")
    private Long secondMerge;

    /**
     * 状态（0正常 1停用）
     */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /**
     * 任务类型（1总行任务,2分行任务）
     */
    @Excel(name = "任务类型", readConverterExp = "1=总行任务,2=分行任务,3=浩云分行")
    private String taskType;

    /**
     * 摄像头编号
      */
    @Excel(name = "摄像头编号")
    private String cameraId;

    public Long getTaskConfigId() {
        return taskConfigId;
    }

    public void setTaskConfigId(Long taskConfigId) {
        this.taskConfigId = taskConfigId;
    }

    public Long getEquipmentId() {
        return equipmentId;
    }

    public void setEquipmentId(Long equipmentId) {
        this.equipmentId = equipmentId;
    }

    public String getChannelId() {
        return channelId;
    }

    public void setChannelId(String channelId) {
        this.channelId = channelId;
    }

    public String getChannelKey() {
        return channelKey;
    }

    public void setChannelKey(String channelKey) {
        this.channelKey = channelKey;
    }

    public String getBankInfo() {
        return bankInfo;
    }

    public void setBankInfo(String bankInfo) {
        this.bankInfo = bankInfo;
    }

    public String getSubBankCode() {
        return subBankCode;
    }

    public void setSubBankCode(String subBankCode) {
        this.subBankCode = subBankCode;
    }

    public String getSubBankName() {
        return subBankName;
    }

    public void setSubBankName(String subBankName) {
        this.subBankName = subBankName;
    }

    public String getBankCode() {
        return bankCode;
    }

    public void setBankCode(String bankCode) {
        this.bankCode = bankCode;
    }

    public String getBankName() {
        return bankName;
    }

    public void setBankName(String bankName) {
        this.bankName = bankName;
    }

    public String getEquipmentIp() {
        return equipmentIp;
    }

    public void setEquipmentIp(String equipmentIp) {
        this.equipmentIp = equipmentIp;
    }

    public String getEquipmentType() {
        return equipmentType;
    }

    public void setEquipmentType(String equipmentType) {
        this.equipmentType = equipmentType;
    }

    public String getChannelRemark() {
        return channelRemark;
    }

    public void setChannelRemark(String channelRemark) {
        this.channelRemark = channelRemark;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getStartEnd() {
        return startEnd;
    }

    public void setStartEnd(String startEnd) {
        this.startEnd = startEnd;
    }

    public List<String> getTimeRange() {
        return timeRange;
    }

    public void setTimeRange(List<String> timeRange) {
        this.timeRange = timeRange;
    }

    public String getFrequencyType() {
        return frequencyType;
    }

    public void setFrequencyType(String frequencyType) {
        this.frequencyType = frequencyType;
    }

    public String getScenariosType() {
        return scenariosType;
    }

    public void setScenariosType(String scenariosType) {
        this.scenariosType = scenariosType;
    }

    public List<String> getScenariosTypeList() {
        return scenariosTypeList;
    }

    public void setScenariosTypeList(List<String> scenariosTypeList) {
        this.scenariosTypeList = scenariosTypeList;
    }

    public String getFps() {
        return fps;
    }

    public void setFps(String fps) {
        this.fps = fps;
    }

    public Long getSecondMerge() {
        return secondMerge;
    }

    public void setSecondMerge(Long secondMerge) {
        this.secondMerge = secondMerge;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getTaskType() {
        return taskType;
    }

    public void setTaskType(String taskType) {
        this.taskType = taskType;
    }

    public String getCameraId() {
        return cameraId;
    }

    public void setCameraId(String cameraId) {
        this.cameraId = cameraId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("taskConfigId", getTaskConfigId())
                .append("equipmentId", getEquipmentId())
                .append("startTime", getStartTime())
                .append("startEnd", getStartEnd())
                .append("frequencyType", getFrequencyType())
                .append("scenariosType", getScenariosType())
                .append("fps", getFps())
                .append("secondMerge", getSecondMerge())
                .append("status", getStatus())
                .append("remark", getRemark())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
